A web page or webpage is a resource of information that is suitable for the World Wide Web and can be accessed through a web browser (e.g., Safari®, etc.) Web page content may be created by using Hyper Text Markup Language (HTML) or rich HTML.
HTML uses tags to mark elements (e.g., text and graphics) in a document to provide a layout for displaying the content to web browsers. HTML elements are constructed with: 1) a start tag marking the beginning of an element; 2) any number of attributes; 3) some amount of content (characters and other elements); and 4) an end tag. A web page's content is usually organized by a number of block elements and inline elements. Block elements, or “blocks” are relatively large structures containing other blocks, inline elements, or text. They are usually displayed as independent blocks separated from other blocks by vertical spaces or margins. A block contains a logical set of data, such as a paragraph of text, an image, a group of radio buttons, a list, a table, etc.
FIG. 1A shows a web page 100 including a number of blocks 101-105. As shown, the web page 100 includes a header 101, a side navigation bar 102, an image 103, a paragraph of text 104, and footer 105. Each of the different portions 101-105 of the web page is considered as a block that defines an area of the web page and organizes a set of data. As shown, some of the blocks (such as 102 and 103) have borders that visually indicate to a user that they are blocks. However, some of the blocks (such as 101, 104, and 105) do not have borders that visually indicate to a user that they are blocks.
FIG. 1B shows HTML code that defines a number of blocks. As shown, blocks 110, 112, and 113 are defined by the tags “<p>” and “</p>.” Block 111 is defined by the tags “<div>” and “</div>.” Blocks can be nested. For example, blocks 112 and 113 are both contained within block 111.
Various web page editors are available to help a user to visually edit a web page (e.g., adding content, deleting content, etc.) A web page editor is typically a stand alone application. Though it may be integrated with other applications, a conventional web page editor requires a number of processing modules and a significant amount of processing overhead making it cumbersome to integrate. Furthermore, web page editors are generally designed for the purpose of constructing web pages and therefore have features and processes which generally do not lend themselves to the tasks a user typically wishes to perform from within many other applications, such as an email application. For these reasons, limiting web editing capability designed specifically for integration into other applications, such as an email client, is desirable.
Also, according to conventional web editor techniques, in order to delete or copy a block in a web page editor, a user needs to input, typically with a mouse pointer, a selection of the desired block. However, because a block may not have a visible border that visually defines the block for the user and given the high density of blocks in modern web pages, it may be difficult for a user to operate the mouse pointer to select the desired block rather than a neighboring block even. Thus, an easy way of selecting a block for operations like deleting and copying is desirable.